﻿using ProyectoDeTesis.Controladores;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace ProyectoDeTesis.Vistas
{
    public partial class EditarPuertaEmbarque : Form
    {
        private int pantalla_id = 20;
        private PistaController pistaController = new PistaController();
        private PuertaEmbarqueController puertaEmbarqueController = new PuertaEmbarqueController();
        private int puerta_embarque_id;
        public EditarPuertaEmbarque()
        {
            InitializeComponent();
            cargarComboPista();
        }

        public EditarPuertaEmbarque(int puerta_embarque_id)
        {
            // TODO: Complete member initialization
            this.puerta_embarque_id = puerta_embarque_id;
            this.resultadoVentana = false;
            InitializeComponent();
            cargarComboPista();
            cargarPuertaEmbarque();
        }

        private void cargarPuertaEmbarque()
        {
            ProyectoDeTesis.PuertaEmbarque puertaEmbarque = puertaEmbarqueController.obtenerPuertaEmbarquexId(puerta_embarque_id);
            tbxNumeroPuertaEmbarque.Text = Convert.ToString(puertaEmbarque.id);
            cmbNumeroPista.SelectedValue = puertaEmbarque.num_puerta;
            tbxDistanciaPistaPrincipal.Text = Convert.ToString(puertaEmbarque.distancia_pista_principal);
        }

        private void cargarComboPista()
        {
            List<Pista> listaPista = pistaController.buscarPistas();

            Pista pistaDefault = new Pista();

            pistaDefault.id = 0;
            pistaDefault.nombre = "Seleccione Pista";

            listaPista.Insert(0, pistaDefault);

            cmbNumeroPista.DisplayMember = "nombre";
            cmbNumeroPista.ValueMember = "nombre";
            cmbNumeroPista.DataSource = listaPista;
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void BtnAceptar_Click(object sender, EventArgs e)
        {
            int num_puerta = Convert.ToInt32(tbxNumeroPuertaEmbarque.Text);
            string num_pista = Convert.ToString(cmbNumeroPista.SelectedValue);
            double distancia = Convert.ToDouble(tbxDistanciaPistaPrincipal.Text);

            if (puertaEmbarqueController.actualizarPuertaEmbarque(num_puerta, num_pista, distancia))
            {
                MessageBox.Show("Se asigno la pista correctamente.");
                this.resultadoVentana = true;
                this.Dispose();
            }
            else 
            {
                MessageBox.Show("Algo paso mal, intentelo denuevo.");
            }
        }

        private void BtnCancelar_Click(object sender, EventArgs e)
        {
            this.Dispose();
        }

        private void BtnAceptar_MouseEnter(object sender, EventArgs e)
        {
            this.btnAceptar.BackColor = Color.FromArgb(185, 211, 238);
        }

        private void BtnCancelar_MouseEnter(object sender, EventArgs e)
        {
            this.btnCancelar.BackColor = Color.FromArgb(185, 211, 238);
        }

        private void BtnCancel_Click(object sender, EventArgs e)
        {
            this.Dispose();
        }

        private void cmbNumeroPista_SelectedIndexChanged(object sender, EventArgs e)
        {
            string valor = Convert.ToString(cmbNumeroPista.SelectedValue);
            if (cmbNumeroPista.SelectedIndex > 0)
            {
                Pista pista = pistaController.buscarPistaxNombre(valor);
                tbxDistanciaPistaPrincipal.Text = Convert.ToString(pista.distancia);
            }
        }

        public bool resultadoVentana { get; set; }
    }
}
